package com.ruoyi.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 收款计划管理1对象 t_cw_receipt_plan
 * 
 * @author ruoyi
 * @date 2023-03-01
 */
public class TCwReceiptPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 收款单号 */
    @Excel(name = "收款单号")
    private String receiptOrderNo;

    /** 商户ID */
    @Excel(name = "商户ID")
    private Long businessId;

    /** 合同ID */
    @Excel(name = "合同ID")
    private Long contractId;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractNo;

    /** 合同类型
,"1：收房合同，
2：出房合同" */
    @Excel(name = "合同类型 ,1：收房合同，2：出房合同")
    private Long contractType;

    /** 解约协议ID（解约时才有，收房是收房解约协议，出房是出房解约协议） */
    @Excel(name = "解约协议ID", readConverterExp = "解=约时才有，收房是收房解约协议，出房是出房解约协议")
    private Long tTerminationId;

    /** 楼盘ID */
    @Excel(name = "楼盘ID")
    private Long premiseId;

    /** 小区(使用楼盘名) */
    @Excel(name = "小区(使用楼盘名)")
    private String premiseName;

    /** 房源ID */
    @Excel(name = "房源ID")
    private String roomId;

    /** 房源编号 */
    @Excel(name = "房源编号")
    private String roomCode;

    /** 承租房间(使用房源名称) */
    @Excel(name = "承租房间(使用房源名称)")
    private String roomName;

    /** 业主ID */
    @Excel(name = "业主ID")
    private Long ownerId;

    /** 业主姓名 */
    @Excel(name = "业主姓名")
    private String ownerName;

    /** 租客ID */
    @Excel(name = "租客ID")
    private Long tenantId;

    /** 租客姓名(面向业主收款时，为空) */
    @Excel(name = "租客姓名(面向业主收款时，为空)")
    private String tenantName;

    /** 收款类型, */
    @Excel(name = "收款类型,")
    private Long receiptType;

    /** 收款状态 */
    @Excel(name = "收款状态")
    private Long skStatus;

    /** 账单类型 */
    @Excel(name = "账单类型")
    private Long billType;

    /** 款项 */
    @Excel(name = "款项")
    private Long itemType;

    /** 其它款项 */
    @Excel(name = "其它款项")
    private String otherItemName;

    /** 支付金额 */
    @Excel(name = "支付金额")
    private BigDecimal paymentAmount;

    /** 实收金额 */
    @Excel(name = "实收金额")
    private BigDecimal realPaymentAmount;

    /** 选择账期 */
    @Excel(name = "选择账期")
    private Long withReceiptPlanId;

    /** 账期开始日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "账期开始日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDaysBegin;

    /** 账期截止日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "账期截止日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDaysEnd;

    /** 预定收款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预定收款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date collectionDate;

    /** 实际收款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际收款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date realCollectionDate;

    /** 第几期 */
    @Excel(name = "第几期")
    private Long receiptNumber;

    /** 线下支付方式 */
    @Excel(name = "线下支付方式")
    private Long payMethod;

    /** 其它支付方式 */
    @Excel(name = "其它支付方式")
    private String otherPayMethod;

    /** 支付流水号 */
    @Excel(name = "支付流水号")
    private String payFlowNo;

    /** 账期房租金额 */
    @Excel(name = "账期房租金额")
    private BigDecimal rentalPrice;

    /** 税费 */
    @Excel(name = "税费")
    private BigDecimal tax;

    /** 操作人 */
    @Excel(name = "操作人")
    private String operationUser;

    /** 预留字段1 */
    private BigDecimal reserve1;

    /** 预留字段2 */
    private Long reserve2;

    /** 预留字段3 */
    private String reserve3;

    /** 预留字段4 */
    private String reserve4;

    /** 预留字段5 */
    private String reserve5;

    /** 删除标识
,0:未删除，1：删除 */
    @Excel(name = "删除标识 ,0:未删除，1：删除")
    private Integer delFlg;

    /** 创建用户ID */
    @Excel(name = "创建用户ID")
    private Long createUserid;

    /** 更新用户ID */
    @Excel(name = "更新用户ID")
    private Long updateUserid;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setReceiptOrderNo(String receiptOrderNo) 
    {
        this.receiptOrderNo = receiptOrderNo;
    }

    public String getReceiptOrderNo() 
    {
        return receiptOrderNo;
    }
    public void setBusinessId(Long businessId) 
    {
        this.businessId = businessId;
    }

    public Long getBusinessId() 
    {
        return businessId;
    }
    public void setContractId(Long contractId) 
    {
        this.contractId = contractId;
    }

    public Long getContractId() 
    {
        return contractId;
    }
    public void setContractNo(String contractNo) 
    {
        this.contractNo = contractNo;
    }

    public String getContractNo() 
    {
        return contractNo;
    }
    public void setContractType(Long contractType) 
    {
        this.contractType = contractType;
    }

    public Long getContractType() 
    {
        return contractType;
    }
    public void settTerminationId(Long tTerminationId) 
    {
        this.tTerminationId = tTerminationId;
    }

    public Long gettTerminationId() 
    {
        return tTerminationId;
    }
    public void setPremiseId(Long premiseId) 
    {
        this.premiseId = premiseId;
    }

    public Long getPremiseId() 
    {
        return premiseId;
    }
    public void setPremiseName(String premiseName) 
    {
        this.premiseName = premiseName;
    }

    public String getPremiseName() 
    {
        return premiseName;
    }
    public void setRoomId(String roomId) 
    {
        this.roomId = roomId;
    }

    public String getRoomId() 
    {
        return roomId;
    }
    public void setRoomCode(String roomCode) 
    {
        this.roomCode = roomCode;
    }

    public String getRoomCode() 
    {
        return roomCode;
    }
    public void setRoomName(String roomName) 
    {
        this.roomName = roomName;
    }

    public String getRoomName() 
    {
        return roomName;
    }
    public void setOwnerId(Long ownerId) 
    {
        this.ownerId = ownerId;
    }

    public Long getOwnerId() 
    {
        return ownerId;
    }
    public void setOwnerName(String ownerName) 
    {
        this.ownerName = ownerName;
    }

    public String getOwnerName() 
    {
        return ownerName;
    }
    public void setTenantId(Long tenantId) 
    {
        this.tenantId = tenantId;
    }

    public Long getTenantId() 
    {
        return tenantId;
    }
    public void setTenantName(String tenantName) 
    {
        this.tenantName = tenantName;
    }

    public String getTenantName() 
    {
        return tenantName;
    }
    public void setReceiptType(Long receiptType) 
    {
        this.receiptType = receiptType;
    }

    public Long getReceiptType() 
    {
        return receiptType;
    }
    public void setSkStatus(Long skStatus) 
    {
        this.skStatus = skStatus;
    }

    public Long getSkStatus() 
    {
        return skStatus;
    }
    public void setBillType(Long billType) 
    {
        this.billType = billType;
    }

    public Long getBillType() 
    {
        return billType;
    }
    public void setItemType(Long itemType) 
    {
        this.itemType = itemType;
    }

    public Long getItemType() 
    {
        return itemType;
    }
    public void setOtherItemName(String otherItemName) 
    {
        this.otherItemName = otherItemName;
    }

    public String getOtherItemName() 
    {
        return otherItemName;
    }
    public void setPaymentAmount(BigDecimal paymentAmount) 
    {
        this.paymentAmount = paymentAmount;
    }

    public BigDecimal getPaymentAmount() 
    {
        return paymentAmount;
    }
    public void setRealPaymentAmount(BigDecimal realPaymentAmount) 
    {
        this.realPaymentAmount = realPaymentAmount;
    }

    public BigDecimal getRealPaymentAmount() 
    {
        return realPaymentAmount;
    }
    public void setWithReceiptPlanId(Long withReceiptPlanId) 
    {
        this.withReceiptPlanId = withReceiptPlanId;
    }

    public Long getWithReceiptPlanId() 
    {
        return withReceiptPlanId;
    }
    public void setPaymentDaysBegin(Date paymentDaysBegin) 
    {
        this.paymentDaysBegin = paymentDaysBegin;
    }

    public Date getPaymentDaysBegin() 
    {
        return paymentDaysBegin;
    }
    public void setPaymentDaysEnd(Date paymentDaysEnd) 
    {
        this.paymentDaysEnd = paymentDaysEnd;
    }

    public Date getPaymentDaysEnd() 
    {
        return paymentDaysEnd;
    }
    public void setCollectionDate(Date collectionDate) 
    {
        this.collectionDate = collectionDate;
    }

    public Date getCollectionDate() 
    {
        return collectionDate;
    }
    public void setRealCollectionDate(Date realCollectionDate) 
    {
        this.realCollectionDate = realCollectionDate;
    }

    public Date getRealCollectionDate() 
    {
        return realCollectionDate;
    }
    public void setReceiptNumber(Long receiptNumber) 
    {
        this.receiptNumber = receiptNumber;
    }

    public Long getReceiptNumber() 
    {
        return receiptNumber;
    }
    public void setPayMethod(Long payMethod) 
    {
        this.payMethod = payMethod;
    }

    public Long getPayMethod() 
    {
        return payMethod;
    }
    public void setOtherPayMethod(String otherPayMethod) 
    {
        this.otherPayMethod = otherPayMethod;
    }

    public String getOtherPayMethod() 
    {
        return otherPayMethod;
    }
    public void setPayFlowNo(String payFlowNo) 
    {
        this.payFlowNo = payFlowNo;
    }

    public String getPayFlowNo() 
    {
        return payFlowNo;
    }
    public void setRentalPrice(BigDecimal rentalPrice) 
    {
        this.rentalPrice = rentalPrice;
    }

    public BigDecimal getRentalPrice() 
    {
        return rentalPrice;
    }
    public void setTax(BigDecimal tax) 
    {
        this.tax = tax;
    }

    public BigDecimal getTax() 
    {
        return tax;
    }
    public void setOperationUser(String operationUser) 
    {
        this.operationUser = operationUser;
    }

    public String getOperationUser() 
    {
        return operationUser;
    }
    public void setReserve1(BigDecimal reserve1) 
    {
        this.reserve1 = reserve1;
    }

    public BigDecimal getReserve1() 
    {
        return reserve1;
    }
    public void setReserve2(Long reserve2) 
    {
        this.reserve2 = reserve2;
    }

    public Long getReserve2() 
    {
        return reserve2;
    }
    public void setReserve3(String reserve3) 
    {
        this.reserve3 = reserve3;
    }

    public String getReserve3() 
    {
        return reserve3;
    }
    public void setReserve4(String reserve4) 
    {
        this.reserve4 = reserve4;
    }

    public String getReserve4() 
    {
        return reserve4;
    }
    public void setReserve5(String reserve5) 
    {
        this.reserve5 = reserve5;
    }

    public String getReserve5() 
    {
        return reserve5;
    }
    public void setDelFlg(Integer delFlg) 
    {
        this.delFlg = delFlg;
    }

    public Integer getDelFlg() 
    {
        return delFlg;
    }
    public void setCreateUserid(Long createUserid) 
    {
        this.createUserid = createUserid;
    }

    public Long getCreateUserid() 
    {
        return createUserid;
    }
    public void setUpdateUserid(Long updateUserid) 
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid() 
    {
        return updateUserid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("receiptOrderNo", getReceiptOrderNo())
            .append("businessId", getBusinessId())
            .append("contractId", getContractId())
            .append("contractNo", getContractNo())
            .append("contractType", getContractType())
            .append("tTerminationId", gettTerminationId())
            .append("premiseId", getPremiseId())
            .append("premiseName", getPremiseName())
            .append("roomId", getRoomId())
            .append("roomCode", getRoomCode())
            .append("roomName", getRoomName())
            .append("ownerId", getOwnerId())
            .append("ownerName", getOwnerName())
            .append("tenantId", getTenantId())
            .append("tenantName", getTenantName())
            .append("receiptType", getReceiptType())
            .append("skStatus", getSkStatus())
            .append("billType", getBillType())
            .append("itemType", getItemType())
            .append("otherItemName", getOtherItemName())
            .append("paymentAmount", getPaymentAmount())
            .append("realPaymentAmount", getRealPaymentAmount())
            .append("withReceiptPlanId", getWithReceiptPlanId())
            .append("paymentDaysBegin", getPaymentDaysBegin())
            .append("paymentDaysEnd", getPaymentDaysEnd())
            .append("collectionDate", getCollectionDate())
            .append("realCollectionDate", getRealCollectionDate())
            .append("receiptNumber", getReceiptNumber())
            .append("payMethod", getPayMethod())
            .append("otherPayMethod", getOtherPayMethod())
            .append("payFlowNo", getPayFlowNo())
            .append("rentalPrice", getRentalPrice())
            .append("tax", getTax())
            .append("operationUser", getOperationUser())
            .append("remark", getRemark())
            .append("reserve1", getReserve1())
            .append("reserve2", getReserve2())
            .append("reserve3", getReserve3())
            .append("reserve4", getReserve4())
            .append("reserve5", getReserve5())
            .append("delFlg", getDelFlg())
            .append("createUserid", getCreateUserid())
            .append("createTime", getCreateTime())
            .append("updateUserid", getUpdateUserid())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
